\hypertarget{classstate}{\section{state$<$ \-T $>$ \-Class \-Template \-Reference}
\label{classstate}\index{state$<$ T $>$@{state$<$ T $>$}}
}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classstate_a8b1cf8b55eed202d497054269112327e}{state} ()
\item 
\hyperlink{classstate_a13392e48a0dc436e5cc911358c5ece13}{$\sim$state} ()
\item 
\hyperlink{classstate_ac83b605b61b206bae6c6ac6778c8a752}{state} (const \hyperlink{classstate}{state} \&psi)
\item 
\hyperlink{classstate}{state} \& \hyperlink{classstate_a58d985442b863ab06e8be21086d96b54}{operator=} (const \hyperlink{classstate}{state} \&psi)
\item 
\hyperlink{classstate_a6ed066cd9ce882e9714daa7d146c53e5}{state} (matrix$<$ \-T $>$ m)
\item 
\hyperlink{classstate}{state} \& \hyperlink{classstate_ab33bad7ce28c9a76bff7c557cbc828b5}{operator$\ast$=} (\hyperlink{classshift}{shift}$<$ \-T $>$ \&\-S)
\item 
\hyperlink{classstate}{state} \& \hyperlink{classstate_ac0aa106cac74fbfc1c63c41329f9baad}{operator$\ast$=} (const \hyperlink{classcoin}{coin}$<$ \-T $>$ \&\-C)
\end{DoxyCompactItemize}
\subsection*{\-Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classstate_a4a0f091d0c0aaac33a244b8ed7af5a9b}{class {\bfseries shift}}\label{classstate_a4a0f091d0c0aaac33a244b8ed7af5a9b}

\item 
\hypertarget{classstate_ab83ef8ab47bbaf2d60c76328ce97b77f}{class {\bfseries coin}}\label{classstate_ab83ef8ab47bbaf2d60c76328ce97b77f}

\item 
\hyperlink{classstate}{state} \hyperlink{classstate_a23d443494c7a720a8d0621dda9c32c7c}{operator$\ast$} (const \hyperlink{classshift}{shift}$<$ \-T $>$ \&\-S, \hyperlink{classstate}{state} psi)
\item 
\hyperlink{classstate}{state} \hyperlink{classstate_a9cde74b4a47bda7694731532054215a5}{operator$\ast$} (const \hyperlink{classcoin}{coin}$<$ \-T $>$ \&\-C, \hyperlink{classstate}{state} psi)
\end{DoxyCompactItemize}
\subsubsection*{template$<$typename \-T$>$ class state$<$ T $>$}



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classstate_a8b1cf8b55eed202d497054269112327e}{\index{state@{state}!state@{state}}
\index{state@{state}!state@{state}}
\subsubsection[{state}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T$>$ {\bf state}$<$ \-T $>$\-::{\bf state} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classstate_a8b1cf8b55eed202d497054269112327e}
\-Constructor \hypertarget{classstate_a13392e48a0dc436e5cc911358c5ece13}{\index{state@{state}!$\sim$state@{$\sim$state}}
\index{$\sim$state@{$\sim$state}!state@{state}}
\subsubsection[{$\sim$state}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T$>$ {\bf state}$<$ \-T $>$\-::$\sim${\bf state} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classstate_a13392e48a0dc436e5cc911358c5ece13}
\-Destructor \hypertarget{classstate_ac83b605b61b206bae6c6ac6778c8a752}{\index{state@{state}!state@{state}}
\index{state@{state}!state@{state}}
\subsubsection[{state}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf state}$<$ \-T $>$\-::{\bf state} (
\begin{DoxyParamCaption}
\item[{const {\bf state}$<$ \-T $>$ \&}]{psi}
\end{DoxyParamCaption}
)}}\label{classstate_ac83b605b61b206bae6c6ac6778c8a752}
copy constructor


\begin{DoxyParams}{\-Parameters}
{\em psi} & \\
\hline
\end{DoxyParams}
\hypertarget{classstate_a6ed066cd9ce882e9714daa7d146c53e5}{\index{state@{state}!state@{state}}
\index{state@{state}!state@{state}}
\subsubsection[{state}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf state}$<$ \-T $>$\-::{\bf state} (
\begin{DoxyParamCaption}
\item[{matrix$<$ \-T $>$}]{m}
\end{DoxyParamCaption}
)}}\label{classstate_a6ed066cd9ce882e9714daa7d146c53e5}
\-Constructor \-Each row of matrix $ m $ gives the internal state in the site v, eg. \$m\-\_\-\{i,v\}\$ is the amplitude of the $ i$ th internal state component the state at site $ v $.


\begin{DoxyParams}{\-Parameters}
{\em mat} & $ d \times \vert V \vert $ matrix \\
\hline
\end{DoxyParams}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classstate_ab33bad7ce28c9a76bff7c557cbc828b5}{\index{state@{state}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!state@{state}}
\subsubsection[{operator$\ast$=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf state}$<$ \-T $>$ \& {\bf state}$<$ \-T $>$\-::operator$\ast$= (
\begin{DoxyParamCaption}
\item[{{\bf shift}$<$ \-T $>$ \&}]{\-S}
\end{DoxyParamCaption}
)}}\label{classstate_ab33bad7ce28c9a76bff7c557cbc828b5}
\-Action of the shift operator to the state $ \vert\psi\rangle $. $ \vert\psi'\rangle=S\vert\psi\rangle $. \-This function modifies the state without making extra copies e.\-g in place.


\begin{DoxyParams}{\-Parameters}
{\em \-S} & $ S $ shift operator.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
$ \vert\psi\rangle \leftarrow S\vert\psi\rangle$. 
\end{DoxyReturn}
\hypertarget{classstate_ac0aa106cac74fbfc1c63c41329f9baad}{\index{state@{state}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!state@{state}}
\subsubsection[{operator$\ast$=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf state}$<$ \-T $>$ \& {\bf state}$<$ \-T $>$\-::operator$\ast$= (
\begin{DoxyParamCaption}
\item[{const {\bf coin}$<$ \-T $>$ \&}]{\-C}
\end{DoxyParamCaption}
)}}\label{classstate_ac0aa106cac74fbfc1c63c41329f9baad}
\-Action of the coin operator to the state $ \vert\psi\rangle $. $ \vert\psi'\rangle=C\vert\psi\rangle $. \-This function makes extra copy.


\begin{DoxyParams}{\-Parameters}
{\em \-C} & coin operator class\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
$ \vert\psi\rangle \leftarrow C\vert\psi\rangle$. 
\end{DoxyReturn}
\hypertarget{classstate_a58d985442b863ab06e8be21086d96b54}{\index{state@{state}!operator=@{operator=}}
\index{operator=@{operator=}!state@{state}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ {\bf state}$<$ \-T $>$ \& {\bf state}$<$ \-T $>$\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf state}$<$ \-T $>$ \&}]{psi}
\end{DoxyParamCaption}
)}}\label{classstate_a58d985442b863ab06e8be21086d96b54}
\-Copy assingment


\begin{DoxyParams}{\-Parameters}
{\em psi} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
reference to state 
\end{DoxyReturn}


\subsection{\-Friends \-And \-Related \-Function \-Documentation}
\hypertarget{classstate_a23d443494c7a720a8d0621dda9c32c7c}{\index{state@{state}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!state@{state}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T$>$ {\bf state} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf shift}$<$ \-T $>$ \&}]{\-S, }
\item[{{\bf state}$<$ \-T $>$}]{psi}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}friend\mbox{]}}}}\label{classstate_a23d443494c7a720a8d0621dda9c32c7c}
\-Action of the shift operator to the state $ \vert\psi\rangle $. $ \vert\psi'\rangle=S\vert\psi\rangle $. \-This function makes extra copy.


\begin{DoxyParams}{\-Parameters}
{\em \-S} & $ S $ shift operator. \\
\hline
{\em psi} & $ \vert\psi\rangle $ state.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
$ \vert\psi'\rangle = S\vert\psi\rangle$. 
\end{DoxyReturn}
\hypertarget{classstate_a9cde74b4a47bda7694731532054215a5}{\index{state@{state}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!state@{state}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename \-T$>$ {\bf state} operator$\ast$ (
\begin{DoxyParamCaption}
\item[{const {\bf coin}$<$ \-T $>$ \&}]{\-C, }
\item[{{\bf state}$<$ \-T $>$}]{psi}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}friend\mbox{]}}}}\label{classstate_a9cde74b4a47bda7694731532054215a5}
\-Action of the coin operator to the state $ \vert\psi\rangle $. $ \vert\psi'\rangle=C\vert\psi\rangle $. \-This function makes extra copy.


\begin{DoxyParams}{\-Parameters}
{\em \-C} & coin operator class\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
$ \vert\psi'\rangle = C\vert\psi\rangle$. 
\end{DoxyReturn}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
include/\hyperlink{state_8hpp}{state.\-hpp}\item 
src/state.\-cpp\end{DoxyCompactItemize}
